package com.example.consumptionrecords.service.interfaces;

import com.example.consumptionrecords.entity.dto.LoginUserDTO;
import com.example.consumptionrecords.entity.dto.RegisterUserDTO;
import com.example.consumptionrecords.entity.vo.UserVO;
import jakarta.servlet.http.HttpServletResponse;

/**
 * 孙敬佳
 * 2024 \ 02 \ 06
 */

public interface UserService {

	/**
	 * 用户登录
	 * @param loginUserDTO 用户名、密码、验证码
	 * @param response 响应体，添加token
	 * @return 登录成功返回用户信息，失败返回错误信息
	 */
	UserVO userLogin(LoginUserDTO loginUserDTO, HttpServletResponse response);

	/**
	 * 查询用户总消费
	 * @param userId 用户id
	 * @return 请求成功返回总消费金额，失败返回错误信息
	 */
	String getTotalConsumption(Integer userId);

	/**
	 * 用户注册
	 * @param registerUserDTO 用户名、密码、邮箱、验证码
	 * @return 注册成功返回用户默认昵称，失败返回错误信息
	 */
	String register(RegisterUserDTO registerUserDTO);
}
